package com.hyt.it.ogt.pj.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.hyt.it.ogt.pj.model.entity.ExamExpert;
import com.hyt.it.ogt.pj.model.param.ExamExpertSettingParam;
import com.hyt.it.ogt.pj.model.vo.ExamExpertSettingVo;
import com.hyt.it.ogt.pj.model.vo.ExpertTreeVo;
import com.hyt.it.ogt.pj.model.vo.ExpertUserVo;
import com.hyt.it.ogt.pj.model.vo.ModeExamExpertVo;

import java.util.List;

/**
 * <p>
 * 评卷专家 服务类
 * </p>
 *
 * @author liy
 * @since 2022-02-28
 */
public interface IExamExpertService extends IService<ExamExpert> {


    /**
     * 查询评卷规则
     *
     * @param examExpertSettingParam
     * @return
     */
    ExamExpertSettingVo queryExamExpertSettingVo(ExamExpertSettingParam examExpertSettingParam);


    /**
     * 查询专家树
     *
     * @return
     */
    List<ExpertTreeVo> queryExpertTreeVo(String deptId);

    /**
     * 删除专家树
     *
     * @return
     */
    Integer deleteExpertVo(String id);


    /**
     * 查询机构树
     *
     * @return
     */
    List<ExpertTreeVo> queryOrganizationTree();


    /**
     * 查询机构人员
     *
     * @return
     */
    List<ExpertUserVo> queryOrganizationUsers(String deptId, Integer pageNum, Integer pageSize);


    /**
     * 查询专家
     *
     * @return
     */
    List<ModeExamExpertVo> queryExamExpertVos(String projectId);


    /**
     * 查询专家
     *
     * @return
     */
    List<ModeExamExpertVo> queryEaxmModeExamExpertVos(String projectId, String subjectId, String batchId, String roomId);

    /**
     * 查询专家
     *
     * @return
     */
    List<ModeExamExpertVo> queryTaskExamExpertVos(String projectId);


    /**
     * 查询专家
     *
     * @param projectId
     * @param subjectId
     * @return
     */
    String queryExpertBySubject(String projectId, String subjectId, String roomId, String markModel);

}
